package com.ruoyi.loan.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 客户信息快照对象 t_customer_snapshot
 *
 * @author ruoyi
 * @date 2023-03-23
 */
@Getter
@Setter
@TableName("t_customer_snapshot")
public class CustomerSnapshot {

    private static final long serialVersionUID = 1L;

    /**
     * 需求id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 客户id
     */
    private Long customerInfoId;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    private Long phoneNumber;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 性别 0男 1女
     */
    @Excel(name = "性别 0男 1女")
    private Integer sex;

    /**
     * 年龄
     */
    @Excel(name = "年龄")
    private Integer age;

    /**
     * 申请城市
     */
    @Excel(name = "申请城市")
    private String city;

    /**
     * 婚姻 0未婚 1已婚
     */
    @Excel(name = "婚姻 0未婚 1已婚")
    private Integer maritalStatus;

    /**
     * 生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 配偶生日
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "配偶生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date spouseSpouse;

    /**
     * 结婚纪念日
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "结婚纪念日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date weddingAnniversary;

    /**
     * 身份证
     */
    @Excel(name = "身份证")
    private String idCard;

    /**
     * 配偶身份证
     */
    @Excel(name = "配偶身份证")
    private String spouseIdCard;

    /**
     * 客户星级 字典：customer_level
     */
    @Excel(name = "客户星级 字典：customer_level")
    private Long level;

    /**
     * 客户状态 字典：customer_status
     */
    @Excel(name = "客户状态 字典：customer_status")
    private Long status;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;

    /**
     * 金额（万）
     */
    @Excel(name = "金额", readConverterExp = "万=")
    private BigDecimal amount;

    /**
     * 贷款用途
     */
    @Excel(name = "贷款用途")
    private String loanUse;

    /**
     * 贷款备注
     */
    @Excel(name = "贷款备注")
    private String loanRemark;

    /**
     * 期数
     */
    @Excel(name = "期数")
    private Integer timeLimit;

    /**
     * 用款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "用款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date serviceTime;

    /**
     * 放款机构
     */
    @Excel(name = "放款机构")
    private String lendingInstitution;

    /**
     * 还款方式 1月 2季度
     */
    @Excel(name = "还款方式 1月 2季度")
    private Integer repaymentType;

    /**
     * 还款月
     */
    @Excel(name = "还款月")
    private Integer repaymentMonth;

    /**
     * 还款日
     */
    @Excel(name = "还款日")
    private Integer repaymentDay;

    /**
     * 还款金额
     */
    @Excel(name = "还款金额")
    private BigDecimal repaymentAmount;

    /**
     * 截止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deadline;

    /**
     * 职业 字典：customer_occupation
     */
    @Excel(name = "职业 字典：customer_occupation")
    private Integer occupation;

    /**
     * 职位备注
     */
    @Excel(name = "职位备注")
    private String occupationRemark;

    /**
     * 费用（boss岗能看到）
     */
    @Excel(name = "费用", readConverterExp = "b=oss岗能看到")
    private String expense;

    /**
     * 房产信息json
     */
    @Excel(name = "房产信息json")
    private String houseJson;

    /**
     * 车产信息json
     */
    @Excel(name = "车产信息json")
    private String carJson;

    /**
     * 保单json
     */
    @Excel(name = "保单json")
    private String insuranceJson;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    @TableField(fill = FieldFill.INSERT)
    private Long createUser;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改人
     */
    @Excel(name = "修改人")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updateUser;

    /**
     * 修改时间
     */
    @Excel(name = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


    @TableField(exist = false)
    private String nickName;

}
